#pragma once

#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
#include<stdbool.h>

#define N 10

typedef int CQDataType;

typedef struct 
{
	CQDataType* data;
	int front;
	int rear;
	int capacity;
} MyCircularQueue;


MyCircularQueue* myCircularQueueCreate(int k);


bool myCircularQueueEnQueue(MyCircularQueue* obj, int value);


bool myCircularQueueDeQueue(MyCircularQueue* obj);

int myCircularQueueFront(MyCircularQueue* obj);


int myCircularQueueRear(MyCircularQueue* obj);


bool myCircularQueueIsEmpty(MyCircularQueue* obj);


bool myCircularQueueIsFull(MyCircularQueue* obj);


void myCircularQueueFree(MyCircularQueue* obj);